home *** CD-ROM | disk | FTP | other *** search
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- NNNNAAAAMMMMEEEE
- ile - An input line editor for UNIX (Input Line Editor)
-
- SSSSYYYYNNNNTTTTAAAAXXXX
- iiiilllleeee [-file/name]]]] [prog arg1 arg2 ... argn]]]]
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The _i_l_e program is an input line editor that provides an
- easier to use history mechanism than the shell.
-
-
- The _i_l_e program can be run as a simple shell around any
- program. It gives any program an input line editing and a
- history mechanism. It can also be run around your favorite
- shell. When run around the shell _i_l_e records the input to
- programs as well as input to the shell in its history
- buffer.
-
- _i_l_e takes two optional command line arguments. The first
- argument is the name of an initialization file containing
- user defined key and delimiter bindings. The second argument
- is the name of a program to execute and the command line
- arguments for that program.
-
-
- If no initialization file is given on the command line _i_l_e
- first looks in ./._i_l_e_r_c and then in $_H_O_M_E/._i_l_e_r_c. If no
- initialization file is found _i_l_e provides default values for
- delimiter and key bindings.
-
-
- If no program name is given on the command line _i_l_e executes
- _c_s_h.
-
-
- DDDDEEEEFFFFAAAAUUUULLLLTTTT BBBBIIIINNNNDDDDIIIINNNNGGGGSSSS
- Not everyone wants to have to figure out yet another
- initialization file format so _i_l_e provides a complete set of
- default bindings for all its operations.
-
-
- DDDDeeeelllliiiimmmmiiiitttteeeerrrrssss
- Delimiters are used in _i_l_e to mark the beginnings and ends
- of words for the ffffoooorrrrwwwwaaaarrrrdddd____wwwwoooorrrrdddd, bbbbaaaacccckkkkwwwwaaaarrrrdddd____wwwwoooorrrrdddd, and
- ddddeeeelllleeeetttteeee____wwwwoooorrrrdddd actions. The default delimiters are ' ' (blank),
- '/' (slash), '.' (period), and '-' (dash). These were chosen
- because the author decided they were "natural" stopping
- characters in a UNIX environment.
-
-
- KKKKeeeeyyyyssss
- The following table shows the default bindings of keys and
-
-
-
- Page 1 (printed 7/23/95)
-
-
-
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- key sequences provided by _i_l_e. These are based on the emacs
- key bindings for similar operations.
-
-
-
- ^A - start_of_line
- ^B - backward_char
- ^E - end_of_line
- ^F - forward_char
- ^K - erase_to_end_of_line
- ^L - retype_line
- ^N - forward_history
- ^P - backward_history
- ^R - search_backward_history
- ^V - quote
- ^T - transpose_chars
- del - delete_char
- ^M - add_to_history
- ^J - add_to_history
- ^U - erase_line
- ^X - delete_char_under
-
- ^C - pass
- ^D - pass
- ^Q - pass
- ^S - pass
- ^Z - pass
-
- esc b - backward_word
- esc f - forward_word
- esc del - delete_word
- esc esc - complete_file
- esc s - complete_file_full
- esc p - query_path
- esc d - show_files
- esc u - upper_word
- esc l - lower_word
- esc c - capitalize_word
-
- esc [ A - backward_history (up arrow)
- esc [ B - forward_history (down arrow)
- esc [ C - forward_char (right arrow)
- esc [ D - backward_char (left arrow)
-
-
-
- IIIINNNNIIIITTTTIIIIAAAALLLLIIIIZZZZAAAATTTTIIIIOOOONNNN FFFFIIIILLLLEEEE
- The _i_l_e initialization file has two parts. The first part is
- also the first line of the file. This line contains the
- delimiter characters that will be used by the ffffoooorrrrwwwwaaaarrrrdddd____wwwwoooorrrrdddd,
- bbbbaaaacccckkkkwwwwaaaarrrrdddd____wwwwoooorrrrdddd, and ddddeeeelllleeeetttteeee____wwwwoooorrrrdddd actions. Each character on
- the line becomes a delimiter character.
-
-
-
- Page 2 (printed 7/23/95)
-
-
-
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- The second part of the file is a list of table numbers,
- characters, and actions or strings. _i_l_e has 4 action tables.
- Each action table contains an action or string for each
- possible character. _i_l_e decides what to do with a character
- by looking it up in the table and executing the action
- associated with the character or by passing the string one
- character at a time into _i_l_e as if it had been typed by the
- user. Normally only table 0 is used. But, the eeeessssccccaaaappppeeee actions
- cause the next character to be looked up in a different
- table. The eeeessssccccaaaappppeeee actions make it possible to map multiple
- character sequences to actions.
-
- By default, all entries in table 0 are bound to the iiiinnnnsssseeeerrrrtttt
- action, and all entries in the other tables are bound to the
- bbbbeeeellllllll action. User specified bindings override these
- defaults. The following example is an initialization file
- that sets up the same key and delimiter bindings as the _i_l_e
- default bindings.
-
-
- EEEExxxxaaaammmmpppplllleeee ...._i_l_e_r_c ffffiiiilllleeee
- /.-
-
- 0^A=start_of_line
- 0^B=backward_char
- 0^E=end_of_line
- 0^F=forward_char
- 0^K=erase_to_end_of_line
- 0^L=retype_line
- 0^N=forward_history
- 0^P=backward_history
- 0^R=search_backward_history
- 0^V=quote
- 0^T=transpose_chars
- 0\177=delete_char
- 0^[=escape_1
- 0^M=add_to_history
- 0^J=add_to_history
- 0^U=erase_line
- 0^X=delete_char_under
-
- 0^C=pass
- 0^D=pass
- 0^Q=pass
- 0^S=pass
- 0^Z=pass
-
- 1b=backward_word
- 1f=forward_word
- 1\177=delete_word
- 1[=escape_2
- 1^[=complete_file
-
-
-
- Page 3 (printed 7/23/95)
-
-
-
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- 1s=complete_file_full
- 1p=query_path
- 1d=show_files
- 1u=upper_word
- 1l=lower_word
- 1c=capitalize_word
-
- 2A=backward_history
- 2B=forward_history
- 2C=forward_char
- 2D=backward_char
-
-
-
- The first character on each key binding line is the index of
- the table to place the key binding in. Valid values for the
- index are 0, 1, 2, and 3.
-
-
- The second character on the line is either the character to
- bind or an indicator that tells how to find out what
- character to bind. If the second character is any character
- besides '^' or '\' then the action is bound to that
- character.
-
-
- If the second character on the line is '^' then the next
- character is taken as the name of a control character. So ^H
- is backspace and ^[ is escape.
-
-
- If the second character on the line is a '\' and the next
- character is a digit between 0 and 7 the the following
- characters are interpreted as an octal number that indicates
- which character to bind the action to. If the character
- immediately after the '\' is not an octal digit then the
- action is bound to that character. For example, to get the
- '^' character you would use '\^'.
-
-
- The next character on the line is always '='. Following the
- equal sign is the name of an action or a string. The actions
- are defined in the following table.
-
-
- AAAAccccttttiiiioooonnnnssss
- bbbbeeeellllllll Send a bell (^G) character to the
- terminal. Hopefully the bell will ring.
- This action is a nice way to tell the
- user that an invalid sequence of keys
- has been typed.
-
-
-
-
- Page 4 (printed 7/23/95)
-
-
-
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- ppppaaaassssssss Pass the character to the program
- running under _i_l_e. Do not echo the
- character, do not insert it into the
- edit buffer. Just pass it along. This
- is useful for characters like ^C, ^Z,
- ^Q, and ^S that have special meaning and
- shouldn't be held up in the edit buffer
- waiting to be sent.
-
-
- iiiinnnnsssseeeerrrrtttt Insert the character into the edit
- buffer. If there are already 256
- characters in the buffer _i_l_e will beep
- and refuse to put the character in the
- buffer.
-
-
- ttttrrrraaaannnnssssppppoooosssseeee____cccchhhhaaaarrrrssss Swap the character under the cursor
- with the character to the left of the
- cursor and move the cursor one character
- to the right. This is handy for
- correcting letter transposition errors.
-
-
- ddddeeeelllleeeetttteeee____cccchhhhaaaarrrr
- Delete the character directly to the
- left of the cursor from the edit buffer.
-
-
- ddddeeeelllleeeetttteeee____cccchhhhaaaarrrr____uuuunnnnddddeeeerrrr Delete the character under the cursor
- from the edit buffer.
-
-
- qqqquuuuooootttteeee The next character to come into _i_l_e
- will be inserted into the edit buffer.
- This allows you to put characters into
- the edit buffer that are bound to an
- action other than insert.
-
-
- eeeessssccccaaaappppeeee____1111 Look up the next character in action
- table 1 instead of action table 0.
-
-
- eeeessssccccaaaappppeeee____2222 Look up the next character in action
- table 2 instead of action table 0.
-
-
- eeeessssccccaaaappppeeee____3333 Look up the next character in action
- table 3 instead of action table 0.
-
-
-
-
-
- Page 5 (printed 7/23/95)
-
-
-
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- ddddeeeelllleeeetttteeee____wwwwoooorrrrdddd Delete the word directly to the left of
- the cursor. A word is a sequence of
- characters surrounded by delimiter
- characters.
-
-
- ffffoooorrrrwwwwaaaarrrrdddd____wwwwoooorrrrdddd Move the cursor to the right past the
- next word. A word is a sequence of
- characters surrounded by delimiter
- characters.
-
-
- bbbbaaaacccckkkkwwwwaaaarrrrdddd____wwwwoooorrrrdddd Move the cursor to the left past the
- next word. A word is a sequence of
- characters surrounded by delimiter
- characters.
-
-
- uuuuppppppppeeeerrrr____wwwwoooorrrrdddd Starting with the character under the
- cursor, convert the word to the right of
- the cursor to upper case.
-
-
- lllloooowwwweeeerrrr____wwwwoooorrrrdddd Starting with the character under the
- cursor, convert the word to the right of
- the cursor to lower case.
-
-
- ccccaaaappppiiiittttaaaalllliiiizzzzeeee____wwwwoooorrrrdddd Convert the character under the cursor
- to upper case. Convert the word to the
- right of the cursor to lower case.
-
-
- ssssttttaaaarrrrtttt____ooooffff____lllliiiinnnneeee Move the cursor to the left most
- character in the edit buffer.
-
-
- bbbbaaaacccckkkkwwwwaaaarrrrdddd____cccchhhhaaaarrrr Move the cursor to the left one
- character.
-
-
- eeeennnndddd____ooooffff____lllliiiinnnneeee Move the cursor past the last character
- in the edit buffer.
-
-
- ffffoooorrrrwwwwaaaarrrrdddd____cccchhhhaaaarrrr Move the cursor to the right one
- character.
-
-
- aaaadddddddd____ttttoooo____hhhhiiiissssttttoooorrrryyyy Add the contents of the edit buffer to
- the history buffer and pass the line
- along to the program running under _i_l_e.
-
-
-
- Page 6 (printed 7/23/95)
-
-
-
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- eeeerrrraaaasssseeee____lllliiiinnnneeee Clear the line. Erase all characters on
- the line.
-
-
- eeeerrrraaaasssseeee____ttttoooo____eeeennnndddd____ooooffff____lllliiiinnnneeee
-
- Delete the character under the cursor
- and all character to the left of the
- cursor from the edit buffer.
-
-
- rrrreeeettttyyyyppppeeee____lllliiiinnnneeee Retype the contents of the current edit
- buffer. This is handy when system
- messages or other asynchronous output
- has garbled the input line.
-
-
- ffffoooorrrrwwwwaaaarrrrdddd____hhhhiiiissssttttoooorrrryyyy Display the next entry in the history
- buffer. If you are already at the most
- recent entry display a blank line. If
- you try to go forward past the blank
- line this command will beep at you.
-
-
- bbbbaaaacccckkkkwwwwaaaarrrrdddd____hhhhiiiissssttttoooorrrryyyy Display the previous entry in the
- history buffer. If there are no older
- entries in the buffer, beep.
-
-
- sssseeeeaaaarrrrcccchhhh____bbbbaaaacccckkkkwwwwaaaarrrrdddd____hhhhiiiissssttttoooorrrryyyy
-
- Search for a line in the history buffer
- that starts with the characters to the
- left of the cursor. If a match is found
- the matched line is displayed. If no
- match is found this command will beep at
- you.
-
-
- ccccoooommmmpppplllleeeetttteeee____ffffiiiilllleeee Take the word currently under, or
- immediately to the left of the cursor
- and treat it as a partial file name and
- path name. If there is only one file in
- the directory that starts with the
- partial file name then fill in the rest
- of the file name in the input line. If
- more than one file starts with the
- partial file name fill in the longest
- common starting string of those file
- names. If the path is specified as "~/"
- then look in the directory named by
- $HOME.
-
-
-
- Page 7 (printed 7/23/95)
-
-
-
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- If the path is specified as "~name",
- where name is a user login name or a
- partial user login name, then look in
- the users login directory. If more than
- one match is found for a partial user
- name then _i_l_e will beep. When completing
- a file name, a partial user name will be
- completed at the same time the file name
- is being completed.
-
- If you use abbreviated path names like
- "./file", "../file", "dir/file", or
- "file" _i_l_e uses the path name saved by
- the most recent qqqquuuueeeerrrryyyy____ppppaaaatttthhhh command or
- the value of $PWD at the time _i_l_e _w_a_s
- _s_t_a_r_t_e_d.
-
-
- ccccoooommmmpppplllleeeetttteeee____ffffiiiilllleeee____ffffuuuullllllll Like ccccoooommmmpppplllleeeetttteeee____ffffiiiilllleeee but abbreviations
- like "~/" are replaced by the full path
- that they stand for. This is handy when
- you want to use abbreviated path names
- but the program you are talking to
- doesn't understand the abbreviations.
-
- Read the discussion of file name
- completion under ccccoooommmmpppplllleeeetttteeee____ffffiiiilllleeee for more
- information.
-
-
- qqqquuuueeeerrrryyyy____ppppaaaatttthhhh _i_l_e isn't the shell and doesn't know
- what the current working directory is.
- But, _i_l_e tries to do file name
- completion as if it did. To do this task
- _i_l_e keeps around the path to the current
- working directory. When _i_l_e is started
- up this path is initialized from $PWD.
- The qqqquuuueeeerrrryyyy____ppppaaaatttthhhh command is provided to
- allow users to update this path at any
- time.
-
- When qqqquuuueeeerrrryyyy____ppppaaaatttthhhh is invoked _i_l_e makes the
- blatant assumption that the program
- running under _i_l_e is a shell and sends
- the shell command "pwd" to that program.
- Whatever comes back from the program is
- assumed to the path to the current
- working directory. The next response
- from the program is assumed to be a new
- prompt from the shell and is ignored.
-
-
-
-
-
- Page 8 (printed 7/23/95)
-
-
-
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- sssshhhhoooowwww____ffffiiiilllleeeessss Take the word currently under, or
- immediately to the left of, the cursor
- and treat it as a partial file name and
- path name. List all the files that start
- with the partial file name in the
- directory specified by the path name.
-
- Read the discussion of file name
- completion under ccccoooommmmpppplllleeeetttteeee____ffffiiiilllleeee for more
- information.
-
-
- SSSSttttrrrriiiinnnnggggssss
- In addition to being able to bind a character sequence to an
- action _i_l_e allows characters sequences to be bound to
- strings of characters. When a string is invoked the
- characters in the string are treated as if they were typed
- by the user. For example, if the line:
-
- 0^G=ring^Ma^Mbell^M
-
- was in your ._i_l_e_r_c file, typing control G would cause three
- lines to be typed as if the user typed them. Using the
- default bindings, unless there is a ^J or ^M in the string
- the string will be inserted in the current line but not sent
- along until the the user actually presses return.
-
-
- EEEErrrrrrrroooorrrr MMMMeeeessssssssaaaaggggeeeessss
- When _i_l_e encounters errors it prints a message and
- terminates. _i_l_e can print several standard error message.
- It can also print a few messages that are specific to _i_l_e.
-
-
- iiiilllleeee:::: uuuunnnnaaaabbbblllleeee ttttoooo aaaallllllllooooccccaaaatttteeee ppppttttyyyy////ttttttttyyyy ppppaaaaiiiirrrr
-
- There are no free pty devices in the
- system. You can either try again later,
- and hope someone has freed a pty for you
- to use, or you can grab your system
- manager and try to get more pty devices
- configured.
-
-
- iiiilllleeee:::: ''''===='''' mmmmiiiissssssssiiiinnnngggg oooonnnn lllliiiinnnneeee ####
-
- In a character binding line you left out
- the '=' character. Or, you did something
- that confused the initialization file
- reader into thinking there should be an
- '=' where you didn't think there should
- be one.
-
-
-
- Page 9 (printed 7/23/95)
-
-
-
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- iiiilllleeee:::: eeeerrrrrrrroooorrrr iiiinnnn iiiinnnniiiittttiiiiaaaalllliiiizzzzaaaattttiiiioooonnnn ffffiiiilllleeee oooonnnn lllliiiinnnneeee ####
-
- This means that the first character of a
- character binding line wasn't a newline
- or a '0', '1', '2', or '3'. It could
- also mean that the initialization file
- reader is confused.
-
-
- iiiilllleeee:::: ccccaaaannnn''''tttt ffffiiiinnnndddd tttteeeerrrrmmmmiiiinnnnaaaallll
-
- _i_l_e could not find a termcap entry for
- the terminal named by the TERM
- environment variable. Since it can't
- find it _i_l_e can't figure out how to use
- it.
-
-
- iiiilllleeee:::: ccccaaaannnn''''tttt rrrruuuunnnn oooonnnn tttteeeerrrrmmmmiiiinnnnaaaallll
-
- The terminal named in your TERM
- environment variable doesn't support the
- capabilities _i_l_e needs to run. So _i_l_e
- doesn't even try.
-
-
- BBBBUUUUGGGGSSSS
- _i_l_e changes the input mode on the controlling terminal to
- RAW. This confuses xterm. It is a good idea to include the
- line:
-
- stty cooked -nl echo tabs crt decctlq -litout
-
- in your .cshrc file when using xterm. Otherwise your new
- xterm windows come up in an unusable state.
-
- _i_l_e requires a terminal that supports the termcap le, ce,
- bl, nl, and cr capabilities. If your terminal doesn't
- provide these, _i_l_e will refuse to run on your terminal.
-
- A misspelled action name in an _i_l_e_r_c will be treated as a
- string. This means that typing the sequence of characters
- that should invoke the action will actually cause the
- misspelled name to be inserted in the input line.
-
- FFFFIIIILLLLEEEESSSS
- $HOME/.ilerc
- ./.ilerc
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- stty(1), xterm(1), csh(1), termcap(5)
-
-
-
-
- Page 10 (printed 7/23/95)
-
-
-
-
-
-
- IIIILLLLEEEE((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((5555 MMMMaaaayyyy 1111999988888888)))) IIIILLLLEEEE((((1111))))
-
-
-
- CCCCOOOOPPPPYYYYRRRRIIIIGGGGHHHHTTTT
- COPYRIGHT 1988
- Evans & Sutherland Computer Corporation
- Salt Lake City, Utah
- All Rights Reserved.
-
- THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE
- WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT
- BY EVANS & SUTHERLAND. EVANS & SUTHERLAND MAKES NO
- REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE FOR
- ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR
- IMPLIED WARRANTY.
-
- IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE
- COPYRIGHT RIGHTS, APPROPRIATE LEGENDS MAY BE PLACED ON THE
- DERIVATIVE WORK IN ADDITION TO THAT SET FORTH ABOVE.
-
- Permission to use, copy, modify, and distribute this
- software and its documentation for any purpose and without
- fee is hereby granted, provided that the above copyright
- notice appear in all copies and that both the copyright
- notice and this permission notice appear in supporting
- documentation, and that the name of Evans & Sutherland not
- be used in advertising or publicity pertaining to
- distribution of the software without specific, written prior
- permission.
-
- AAAAUUUUTTTTHHHHOOOORRRR
- Robert C. Pendleton <bobp@hal.com>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 11 (printed 7/23/95)
-
-
-
-
-
-
-